(clear)

(deffacts initial-fact
(persona Maria)
(gaditana Maria))

(reset)

(defrule r1_andaluza
(gaditana Maria)
=> (assert (andaluza Maria)))


(defrule r2_espagnola
(andaluza Maria)
=> (assert (espagnola Maria)))

(defrule andaluza
(persona ?x)
(gaditana ?x)
=>
(assert (andaluza ?x))
(printout t ?x " es andaluza" crlf))
